SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO


CREATE PROCEDURE [dbo].[LIQTotalDescuentos]
@Agente INT,
@Servicio INT,
@Plaza INT,
@Resultado DECIMAL(18,4) output,
@idLiquidacion INT,
@DiasALiquidar INT,
@DiasDelPeriodo INT,
@Desde DATETIME,
@Hasta DATETIME 
 AS 

SET NOCOUNT ON

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- REGISTRO DE ACTUALIZACIONES
-- 18/11/2005 - Se agregaron parametros @Desde y @Hasta para manejo de Fechas en Titulares y Suplentes
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Print 'DESCUENTOS'
declare @Jubilacion DECIMAL(18,4)
declare @TotalRemunerativo DECIMAL(18,4)
declare @Afiliacion INT, @horas INT, @regimensalarial  INT, @organizacion INT, @situacionrevista INT
declare @DescAporte DECIMAL(18,4)
declare @NroError INT
Declare @SubOrganizacion INT

Select @TotalRemunerativo = sum(MontoDescuento)  from tb_RegistroDeLiquidaciones, tb_ConceptosDeLiquidacion 
	 where Servicio = @Servicio and liquidacion = @idLiquidacion and concepto = idConceptoLiquidacion and tipo = 6 and idConceptoLiquidacion <> 17

Select @Afiliacion = idAfiliacion from tb_Afiliaciones where idAgente = @Agente
Select @horas= horas, @regimensalarial = regimensalarial, @SubOrganizacion = SubOrganizacion from tb_Plazas where idPlaza = @Plaza
Select @Organizacion = ubicacionOrig, @SituacionRevista = SituacionRevista from tb_ServiciosAgentes where idservicioAgente =  @Servicio

print 'TOTAL DESCUENTOS: '+convert(varchar, @TotalRemunerativo)

If (Select OrganizacionLiquidadora From tb_SubOrganizaciones Where idSubOrganizacion = @SubOrganizacion) Is Not Null
	Select @Organizacion = OrganizacionLiquidadora From tb_SubOrganizaciones Where idSubOrganizacion = @SubOrganizacion

insert INTo tb_RegistroDeLiquidaciones (AfectadosPorAjuste, Afiliacion, Agente, Ajuste, Cantidad, Cargosalarial, Concepto, Descripcion, DescuentoExterno, Desde, Dias, Embargo, Hasta, Horas, LegajoSalarial, Liquidacion, MontoDescuento, MontoHaberes, Organizacion, Reclamado, Servicio, SituacionRevista, DiasLiquidados, SubOrganizacion)
	values (null, @Afiliacion, @Agente, null, 1, null, 17, null, null, null, null, null, null, @horas, 0, @idLiquidacion,  @TotalRemunerativo,0, @Organizacion, null, @Servicio, @SituacionRevista, @diasALiquidar, @SubOrganizacion)

Select @NroError = @@error

if @NroError <> 0
	 insert INTo tb_ErroresLiquidacion (Agente, Concepto, Diagnostico, Fecha, Liquidacion, Organizacion, Servicio) values	
		(@Agente, 17, convert(varchar,@NroError), getdate(), @idLiquidacion, @Organizacion, @Servicio)

GO
